Ultimate Map Creation Guide
The Ultimate Mapper’s tutorial By FSDev| General Un-Co I wrote when I first joined FS, it needs an overhual in parts but it should still be very useful as it is too my knowledge one of the most in depth mapping tuts on the net. Preface: Please note all content used with in tutorial was either directly from my mind or from the bfeditor.org website, the content obtained from bfeditor.org has the original poster name indicated by -*name* at the end of the section to which the information or complete tutorial was used. Check List: 1) Create the map 2) Create a basic height map 3) Texture your terrain 4) Static Objects 5) Undergrowth/Overgrowth 6) Roads 7) Water 8) Layers- 16, 32, 64 player map sizes - Control Points - Spawn points - Object Spawners - Area around flag where it can be capped - Combat Area - Commander assets 9) Loading screen - Background - Music - Map image thingy - Intro of map 10) Ambient Effects (birds, sounds etc) 11) Sky Settings 12) Environmental Maps 13) Lightmaps 14) Ticket Ratio 15) Mini-map 16) Create bot support(if you want...) 17) Pack Map _________________ - Titch2349 The basics: Although this tutorial covers everything in the EA tutorial and more I still believe you should do the official tutorial first to get a feel for the editor. The pictures in their tutorial will help you get orientated with the editor faster. There are two official tutorials one here: C:\Program Files\EA GAMES\Battlefield 2\bf2editor\Help and the one available for download here: Camera controls: W, A, S, D – movement Middle mouse button/scroll wheel click + moving the mouse – rotate camera. Space bar – change from normal mode to painting mode. Editor Modes - The editor has several modes that it can function in for mapping we use terrain, level and Single player. These modes can be reached via the drop down box on the top bar. Back ups - I have learnt from experince to BACK UP YOUR FILES CONSTANTLY; every time you test you should make a copy of your entire map, if possible to another hard-drive or external drive. We're not joking about this. You WILL Lose a lot of time and energy through making one simple but uncorrectable mistake (which happens OFTEN) if you don't have a backup. So, every time you test make a FULL COPY of your editor map folder. Bf2 editor.org is the most useful resource available, if you need help the search button on their site is your friend, don’t create a new thread they will just yell at you to use the search button and not help. Creating a Mod: When the editor opens you will be presented with a choice of which mod you want to work on; all the mods installed on your pc should be listed here. If your Mod already exists click on its name skip ahead to begin and creating your map. Creating a new mod is a simple as clicking the "create new mod" buton and then typing in the Mods name. The editor creates all of the files necessary to create and run a basic Mod. At a later stage you may find you will need more complicated files, I suggest manually copying them from vanilla bf2 (regular bf2/stock bf2), then altering them as nessisary this will save the headaches associated with trying to start from scratch and is much faster. 1.) Creating your map: 1. Open the editor 2. Choose your mod 3. Choose your name (A name can’t include spaces, this cosmetic issue will be rectified later in this tutorial) 4. Choose your size 1 pixel/grid square = 1 - 4 meters depending on your scale so be carefully when choosing large sizes especially if your painting your terrain manually. (I suggest 512 for your first map or a infantry only map, 1024 are good for larger battles but take alot more effort to create) 5. Choose scale; the scale basically tells the editor how big each pixel/grid square is, for example; scale 2 means each height map pixel (editor grid square) is 2 meters wide (Scale x Size equals actual map size) I suggest you use 2, for two reasons, one it will do pretty much what you want, with out being to big or small and two, most importantly;scale 2 is the only scale that works 100% use other scales at your own risk. 2.) Creating your basic heightmap: I’m calling this a basic heightmap because you will no doubt change it at least a few times during the creation of your map. There are many external tools available to use, when generating your heightmaps such as Terragen, L3DT and World Machine (Even Photoshop), although I have used several of these in the past, they will not be covered in this tutorial. It is not essential to understand how a heightmap works to map in bf2, but it is always good to know what exactly the editor is doing incase something goes wrong. Basically a height map is a black and white image, which the game uses like a topographical map to establish height, each pixel on the heightmap repressents a grid square ingame, we defined the size of these grid squares when we assigned a scale too the map. The colour of the pixel represents the height of the grid square with white being the highest point and black being the lowest point. The lowest point is always at a height of 0 (no suprises there), the highest point how ever is user defined in the; tweaker bar>>LevelSettings>TerrainHeight. When altering this value remember there are 253 shades of grey between black and white so depending on how minutely you want to change the elevation of your map times it by 255 to get your maximum height. eg. You want to be able to raise your map in 10cm incriments .1x255 results in a max elevation of 25.5 meters. The tools: (From left to right, In terrain mode> texture) General (Editor bar) - Strength - How fast the tool works - Brush size – The size of the brush Modify – Creates hills, left click raises and right click lowers the terrain. Smooth - Smooths the terrain (In the editor bar this is the option you will see raise and lower buttons are on, if you only want the tool to smoth upwards click lower to turn it off and Visa Vera) Level - Carves a level section of terrain at the height of grid square at the centre of the tool Platform – Right click on the area of the map you want to create a flat area of the same height as, them left click to create a plateau at this height. Random – This is a random noise tool it probaly seemed like a good idea to DICE at the time but it is only useful on strength 1, for making the terrain rough and uneven, but even then it can be to strong, use it with caution. 3.) Texturing: Texturing the ground in Bf2 is a fairly simple, reguardless of this the layer system may seem complicated at first. because it requires you to have a basic understanding of how the game handles textures. In step 3 of texturing I say you need to assign colour and detail textures to a layer. You may wonder "Why do I need to choose two seperate textures to paint the ground," the answer lies in bf2s method of saving RAM, the game limits you to 6 detail textures. Bf2 can get away with this for one main reason; color textures. Say you were making a map that had patches of live and dead grass, generally you would use 2 seperate texures each has to be loaded into RAM. this is a massive waste of resources due to the fact that the only real difference between the two is the colour. Bf2 prevents this by allowing you to apply a coloured filter to the texture to make it appear to be two different textures, to use the example of live and dead grass again you would paint the whole area with the grass detail texture then paint over the dried/dead grass with a brown color texture and over the live grass with a green texture, giving the effect without loading an extra texture into RAM. You may also wonder; what exactly is the purpose of layers. To be honest layers are totally unnessisary the fact that the editor bundles a detail and colour texture together is meaningless; you can apply any colour texture to any of your 6 detail textures. the only advantage it gives you is the ability to paint that colour and detail texture simultaneously. 1. Make sure you are in terrain mode, then select texture mode (The little paint brush on the top bar) 2. Select a layer (You only get 6 use them wisely) 3. Assign detail textures, colour textures in the tweaker bar (NB: If you are using tokens bf2-Tpaint you will need to assign layer 1 steep (cliff) texture layer 2 as high level texture and Layer 3 as your low height texture.) 4. Always set LOD to 1 for any surface accept rock/cliffs, which should be set LOD 2 5. Choose you brush size and strength 6. Double tap space bar to open paint mode, left click to paint right click to erase. 7. When your done hit Space the bar again or push exit to exit paint mode. 8. Always generate low detail textures after texturing a. Click select “Select low detail textures” in the tool bar, just use the default texture. b. Click “Generate low detail textures” Your map will be looking brilliant in no time, there are several external painting tools you can use to quickly texture your map, the most common of which is BF2-Tpaint, a handy tool for creating basic textures, I don’t advise texturing large areas when it tiles textures it lcreates a sort of crucifix pattern on the ground, with is extremely obvious from the air and in the mini-map. My advise for BF2-Tpaint is to use it as a base coat and add the details manually. 4.) Static objects: This is the easiest (and most fun) part of mapping in my oppinion. It might help to note that the map is divided up into a grid with 0,0,0 (Although this will normally be below your map 0, 25,0 is the centre point of a default height terrain) being the centre point with X being your width distance from the starting point. Z being your length and Y being your height. 1. Make sure you are in Level Editor mode 2. Click the pluses next to the following folders in the resources bar: *Mod*>objects>Static objects 3. Browse through the folders until you find an object you wish to place then open its folder and drag the file onto your map. 4. Too move the object around manually, click move (The three arrows on the top bar) then click on the object 5. Click the red box where the arrows meet (It should turn white) and then click and drag it to any where on your map, alternatively, you can clickthe arrow heads to only move in one axis. 6. Rotation to rotate the object, click rotate the circular arrow then click, click on of the circles that appear surrounding the object to rotate in that axis. 7. Manual input of values - Double click on your object, a box will appear where you can add your X, Y, Z coordinates in. 5.) Undergrowth/Overgrowth This is extremely unobvious at first but, is simple when you know how. The procedure is the same for both under and over growth. 1. (In terrain editor> under(Over)growth mode) Right click material 2. Click add material 3. Name it and choose a colour 4. Expand the materials folder 5. Right click on your material 6. Click add type 7. Name it 8. Expand the material and click on your type 9. In the resources bar choose a mesh and a texture to be stretched over it 10. The other option give you the random scaling ability to make the trees all look slightly larger/smaller, frequency that the tree is placed etc. 11. The skew option makes all object turn up wards (pointing towards the sky) by default they point out at right angles from the terrain this may look good for some small bushes, but for trees it look absolutely rediculus. So unless you have a specific reason not to turn it on, always turn it on. 12. Continue adding types until you’ve got enough types to make your forest. 13. Swap to under(over)growth mode render>Undergrowth mode or Render>Overgrowth mode 14. begin painting as you would with a texture. 15. Click generate unde(0ver)growth (some people find they have to do this after every change to their under(over)growth, for me it seems to change dynamically) 16. Click render>Draw under(over)growth to see what it will look like I game 17. Repeat for overgrowth or undergrowth depending on which you just did 6.) Creating Roads: First make sure your road templates are available, click Add in Manager and make sure the roads box is ticked. 1. (In level editor>Roads)Right click on terrain and select new spline 2. ALT click along the path you want the road to follow 3. Choose a template from the resource bar 4. Click connect road and choose a name NB: The road fades in between spline 2 and 3 and the opposite at the other end. So always leave an extra one or two at each end 7.) Water: Easy enough dig a hole (terrain editor)and raise the water to the appropriate height (starts at -1000, I suggest you set it to about 20), getting the colour settings right can take a lot of trial and error so I suggest using the file water.con from a stock map and copying it into yours, then tweaking it to suit your map. 8.1.) Control points: These are the flags 1. In the level editor right click on the terrain, it doesn’t really matter where.(It can be move like any other object). As a general rule of thumb make the walking distance no more than 200meters or 30 seconds walk between spawns, unless you are confident there will always be trasport vehicles available. 2. Click create Control Point 3. Name it 4. Choose radius; how many meters from the flag you need to be to capture it 5. Choose area value (When one team has a total area value of >=100 a ticket bleed will start for the opposition) 6. Set team: 0 =neutral, 1 =team 1, 2 =team 2 7. IsUnstrategicControlPoint gets the little red circle around it. There are many other setting to play with but these are the main ones 8.2.) Spawn point: These are the locations at which you appear when the game starts have at least 2 at each CP 1. In the level editor right click on the terrain, it doesn’t really matter where.(It can be move like any other object) 2. Name you SP 3. Make sure the Control Point ID matches the CP you want to spawn from. There are many other setting to play with but these are the main ones 8.3.) Object spawners: These are the vehicles/static guns/commander assests/destructable bridges. 1. In the level editor right click on the terrain, it doesn’t really matter where. (It can be move like any other object) 2. Choose a name 3. Choose Control point ID; the control point that it spawns from 4. Choose if you want only a certain team to use it (TeamOnVehicle) (some people refer to this as being a locked vehicle) 5. Choose spawn times. There are many other setting to play with but these are the main ones 8.4.) Combat area: 1. In the Level-Editor click on icon "Combat Area" (red stripy square with the “C”) 2. Then go in the top down view and right click, then choose "Add Control Point". Chose the next point you want to use to mark the boundry with then ALT Click the ground. A line will appear between your current spile and your previous one. (I believe you must place your splines in an Anti-Clockwise direction, some one please tell me if I'm wrong) 4. To close your Combat Area go to the first spile (control point) and right click, "Add Control Point" or ALT Click then a popup will ask you to close your combat area, click yes. 8.5.) Commander assets: Artillery, UAV Trailer, and Satellite Trailer This is probably the most needlessly confusing part of the editor. I could place arty all day long, but couldn't make it work as commander. And I couldn't even find the UAV or Sat trailers to place on the map. The first secret is that they're all object spawner weapons. The second secret is that all three of these items must be placed on the map as arty. Strange, I know, but bear with me. For actual artillery, go to the control point where you want to place arty, and create an objectspawner. Choose artillery from the list that appears. Select the arty piece you've just placed and make sure to check TeamOnVehicle. (This means only the team that controls it can use it) This is the key to making the arty work. Go through that sequence for as many arty pieces as you want to place. Then for the UAV trailer and Sat trailer you do the same thing to begin with. Place arty and choose TeamOnVehicle. Then select the arty piece and in the middle button bar (not the right click option "Change vehicle type") click on the box beside VehicleTeam1, which will bring up a slightly different dropdown list. Choose one of the mobileradar objects from the list. That changes the artillery to a UAV trailer. Do the same for VechileTeam2. Then go through the same sequence on another arty piece that you convert to the Sat trailer (choose one of the aircontroltower objects for this). Be sure to check TeamOnVehicle for all of these. That should do it! I don't know why this process is so backwards for these commonly placed items, but there it is. - Knight of the cross 8.5.) Setting up 16, 32 and 64 player modes Haven’t tried this yet in an actual game but this is how I believe you do it: 1. In the Level Editor click Layers>Create layer 2. Name your layer “gpm_Cq_16” or something similar 3. Place all of your CP’s, SP’s and OS’s you want in 16 player in layer 1 4. Click layers at the bottom of the editor bar. 5. Choose “show conquest” and “16 players” 6. Repeat for all game modes and sizes 9.) Loading Screen: To change the maps loading settings go to the info folder found at \EA GAMES\Battlefield 2\mods\bf2\Levels\my_level\Info\ and open "my_level.DESC" using notepad. 9.1.) Map description: To edit the loading screen description edit the text (Indicated by”* *”) within "" 9.2.) Map Name You can edit the name of the map by changing the text in the field " my_level " *my_level* ">" 9.3.) Loading Music To edit the loadup screen music, add the path of your music file within " *common/sound/menu/music/load_MEC_music.ogg* " and make sure your file is is .ogg format, which can be converted using various mp3 convertion tools available as freeware/trial software. Link for trial software below http://www.blazemp.com/ 9.4.) Background Image For adding background image, add a screenshot of ingame footage to the same folder (info) and rename to "loadmap" and save as a size 512x512 PNG image 9.5.) Loading screen foreground image (Minimap) To make the loading screen map take a screenshot at the spawn screen when playing in-game, and rename to "gpm_cq_16_menuMap" and save as 512x512 PNG image. Replace the "16" with 32 or 64 for each game mode. NB: Please note that this does not have to be a minimap it is a matter of personal choice as long as the file names are right the image will display. - Appo 10.) Ambient Events This is another thing that is needlessly confusing in the editor. For some things (like birds) you can right-click on the map and use the Create AmbientTrigger function. You'll place a trigger, then you'll place the event that is activated by that trigger. First place the trigger where you want it. Like if you want birds to fly up when someone is sneaking up the back way of a base, you'd put the trigger somewhere around the place where the bad guy would be when you want the birds to go up. Give it a name. Then select the blue ball. Four things to adjust here. First, change radius from 0. This expands your trigger area. Choose 10 or 20 or so. You can see the blue circle showing where the tripwire will be now. Second, click beside TriggerType and choose Move. Third (and most important) make sure you change CHANCE from 0 to a number =< 1, (Basic probability, 1 means event will always be triggered, 0 means it will never happen, .5 means it will happen half of the time, Now, I ask you, why would you put a trigger on the map that you didn't want to work?) Finally, play with MinimumTimeBetweenTriggering. If you leave it at 1 or some small number, an endless stream of birds will erupt from your spot so long as someone is in the trigger zone. These are seconds we're talking about. I change mine to 60 so that I get birds only every 60 seconds. For things like the OnlySmoke ambient event or the fire or OilRigFire, or whatever, don't use the create ambient trigger or create ambient event options on your right-click menu. This is a total red herring. It doesn't work! To place these things, you need to put them down on the map just like you do with tanks. Find them in your left panel under Objects/StaticObjects/AmbientEvents. Place them on the map and you're done. They even animate right in the editor. - Knight of the Cross 11.) Sky settings: Like water setting I suggest if you just copy out a stock map with similar lighting then tweak a bit it will look more professional and save lots of time. 12.) Enviromaps: By Generating your Envmaps you will get water that will looks like normal BF2 water, which will reflect from any angle and reflections off objects in your map like cars, tanks, guns ect. It also shows the reflection of hills in the water. (Basically it’s a reflection tool) 1. Open your map in the Level Editor in the BF2 Editor. 2. In the Resources box expand *MOD*>content>object>common> In the "common" folder you should see DefaultEvnMap 3. Now drag and drop the DefaultEvnMap into your map like you would to any other object. I'm pretty sure it doesn't matter where it is placed but I might be wrong. Just place it on a hill above sea level to be safe 4. Now that u have the DefaultEvnMap in your map you can now generate them. Go to the Compile>Envmaps>Generate Envmaps To apply to water: 6. Now go to your Levels Folder in EA GAMES\Battlefield 2\mods\bf2\Levels\*YOUR MAP* In there crate a folder called "water" Now go into your "Envmaps" Folder and copy the file called "EnvMap0.dds" Paste that file in your water folder which you just crated. Now Rename "EnvMap0.dds" TO "EnvMap.dds" 7. Your done, now your Envmaps should be fully working NB: If you place several DefaultEnvMap boxes in your level, it will use the closest one when you move around. For example one placed in the desert and one in the city -> when you drive into the city, houses will be reflected in the glass and rearview mirrors instead of a desolated landscape. - Rhino 13.) Light maps Generates shadows etc. 1. Click compile generate>light maps>Generate lightmaps… 2. Select 14.) Ticket Ratio 1. In level editor click on the resource bar click Gameplay settings>16 2. Also choose for 32 and 64 15.) Mini-map 1. Save your map 2. Click render>detail texture mode 3. click edit>Select all then raise all object to about 500 meters 4. Click show in the editor bar under Minimap 5. Copy ..\*MyLevel*\edtior\Minimap.dds to ..\*MyLevel*\Hud\ and rename it ingameMap.dds 6. Re-open your map prior to raising the objects (DO NOT SAVE) 16.) Create Single player/Bot support (This is complicated and not recommended for beginners) 17.) Packing your Map 1. Click Mod>Package Mod 2. Choose level 3. Package You Have Now Completed Your First Map Some good external links: You can get the nVidia plugins, used for editing .dss files in photoshop athttp://www.nvidia.com/object/photoshop_dds_plugins.html Advanced texturing: http://bfeditor.org/forum/viewtopic.php?t=2533 Under growth shadows: http://bfeditor.org/forum/viewtopic.php?t=3351 External program texturing: http://bfeditor.org/forum/viewtopic.php?t=2533